package com.he.hsdyc.common.log;

import java.lang.reflect.Field;

/**
 * 基础VO类 用于aop日志解析参数使用
 */
public class BaseVO {

    @Override
    public String toString() {
        //获取当前对象的所有字段属性
        Field[] fields = this.getClass().getDeclaredFields();
        String result=this.getClass().getSimpleName()+":";
        for(Field field : fields) {
            field.setAccessible(true);
            try {
                //如果属性字段是嵌套中的嵌套则使用下面这段代码
                if(field.get(this) instanceof  BaseVO) {
                    result+= field.get(this.toString());
                    continue;
                }
                result += field.getName()+"="+field.get(this)+",";
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        if(result.indexOf( "," )>=0) result = result.substring( 0 , result.length( )-1 );
        return result;
    }


}
